package nodes;

import compiler.Compiler;
import compiler.SymbolTable;

import descriptors.AbstractDescr;

public class ProcedureHeadingNode extends AbstractNode {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private IdentNode ident;
	private ListNode<FPSectionNode> formalParameters;
	
	public ProcedureHeadingNode(IdentNode ident,ListNode<FPSectionNode> formalParameters,int line, int column){
		super(line,column);
		this.ident=ident;
		this.formalParameters=formalParameters;
	}
	
	public IdentNode ident(){
		return ident;
	}
	
	public ListNode<FPSectionNode> formalParameters(){
		return formalParameters;
	}
	
	@Override
	public AbstractDescr compile(
			SymbolTable symbolTable, Compiler compiler) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void print() {
		trace("ProcedureHeadingNode");
		ident.print();
		formalParameters.print();
		unindent();
	}

}
